Web Real-Time Communication (WebRTC) is an application programming interface (API) being currently defined by standardization bodies including the World Wide Web Consortium (W3C), the Internet Engineering Task Force (IETF), the 3rd Generation Partnership Project (3GPP), Mobile Open Alliance (OMA), and the Alliance for Telecommunications Industry Solutions (ATIS). WebRTC is designed to support browser-to-browser applications for voice calling, video chat, peer-to-peer (P2P) file sharing and access to other multimedia contents without plugins. It is an ongoing activity within IETF and W3C to enable real-time communications from or to web browsers using multimedia (e.g., audio, video and auxiliary data, such as calendar and address book). The purpose of WebRTC is to create a set of specifications that allows browsers to function as an effective platform for applications that use and exchange real-time, interactive communication in multimedia.
At the present stage, WebRTC is more mature in desktop environments than for mobile appliances. WebRTC is supported at this time for Google Chrome and Mozilla Firefox. However, additional capabilities (such as authentication/authorization, QoS, user interface for consent when receiving a call) are required to provide an acceptable user experience in mobile environment. There are a number of challenges with respect to providing WebRTC on mobile platforms. For example, as WebRTC is running as an over-the-top application, not as an optimized operator service, poor user experience of WebRTC and poor usage of scarce radio resources may result. Additionally, in order to avoid losing access to WebRTC services when a mobile device enters into a sleep mode, the sleep mode may be disabled on the mobile device but this work-around may reduce battery time due to battery drain. Moreover, a user may need to open an app or his/her web browser if WebRTC capable and to authenticate with the network before initiating or receiving real-time communication services (e.g., voice and video calls, messaging, presence), which is not a seamless experience. Furthermore, there is no support for IP address change on mobile devices, for example, due to network change (e.g., Wi-Fi, High-Speed Packet Access (HSPA), Evolved High-Speed Packet Access (HSPA+), or Long Term Evolution (LTE)). Besides, there are presently no semantics on the data channel.